Security has long been a vital aspect of communications, and our increasing reliance on networks such as the Internet will only heighten the importance of keeping communications secure. One common approach to securing communications is through encryption. With encryption, the message being sent is subjected to an algorithm and modified, so that the resulting encrypted message is unintelligible to anyone who does not know the secret to decrypting the message (e.g., to undoing the algorithm). Many encryption techniques rely on a key that is uniquely assigned to a sender of the message, and the sender uses that key as part of the algorithm to encrypt outgoing messages. Recipients may have the same key, or (depending on the algorithm) they may have a different key and/or algorithm that will allow them to reverse the encryption and decrypt the message.
The encryption algorithm and key may be assigned from a trusted party. An entity may do its best to keep the algorithm and/or key a secret, but as long as communication traffic can be intercepted, for example, there will likely be hackers attempting to crack into the secure communications. Accordingly, there remains an ever-present need for improved methods of securing data for communication.